package com.scorpio.complain.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.scorpio.common.annotation.Excel;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 匿名投诉对象 biz_report
 *
 * @author scorpio
 * @date 2020-10-16
 */
@Data
@TableName("biz_report")
public class BizReportEntity {
    private static final long serialVersionUID = 1L;

    private Long id;

    /**
     * 用户
     */
    @Excel(name = "用户")
    private Long userId;

    /**
     * 投诉用户
     */
    @Excel(name = "投诉用户")
    private Long toUserId;

    /**
     * 举报原因
     */
    @Excel(name = "举报原因")
    private String reportReason;

    /**
     * 图片集合
     */
    @Excel(name = "图片集合")
    private String explainImg;

    /**
     * 补充描述
     */
    @Excel(name = "补充描述")
    private String describe;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastupdateTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private String isDelete;

    //图片
    @TableField(exist = false)
    private List<String> images;

    //手机
    @TableField(exist = false)
    private String mobile;

    //微信
    @TableField(exist = false)
    private String wechat;

    //被举报人手机
    @TableField(exist = false)
    private String toMobile;

    //被举报人微信
    @TableField(exist = false)
    private String toWechat;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("toUserId", getToUserId())
                .append("reportReason", getReportReason())
                .append("explainImg", getExplainImg())
                .append("describe", getDescribe())
                .append("createTime", getCreateTime())
                .append("lastupdateTime", getLastupdateTime())
                .toString();
    }
}
